

import sys

if (len(sys.argv)!=2):
  print("Pass me a .fnt argument!")

f = open(sys.argv[1],"rb")

name = sys.argv[1].lower().replace(".fnt","")

l = f.readline()

font_height=0
font_ascent=0
font_charcount=0
font_chars=[]
font_cc=0

while(l!=""):

  fs = l.strip().find(" ")
  if (fs==-1):
    l=f.readline()
    continue
  t  = l[0:fs]

  dv = l[fs+1:].split(" ")
  d = {}
  for x in dv:
    if (x.find("=")==-1):
      continue
    s = x.split("=")
    d[ s[0] ] = s[1]


  if (t=="common"):
    font_height=d["lineHeight"]
    font_ascent=d["base"]

  if (t=="char"):
    font_chars.append(d["id"])
    font_chars.append(d["x"])
    font_chars.append(d["y"])
    font_chars.append(d["width"])
    font_chars.append(d["height"])
    font_chars.append(d["xoffset"])
    font_chars.append(d["yoffset"])
    font_chars.append(d["xadvance"])
    font_cc+=1



  l = f.readline()


print("static const int _bi_font_"+name+"_height="+str(font_height)+";")
print("static const int _bi_font_"+name+"_ascent="+str(font_ascent)+";")
print("static const int _bi_font_"+name+"_charcount="+str(font_cc)+";")
cstr="static const int _bi_font_"+name+"_characters={"
for i in range(len(font_chars)):

  c=font_chars[i]
  if (i>0):
    cstr+=", "
  cstr+=c

cstr+=("};")

print(cstr)